<label class="switch">
  <input type="checkbox" />
  <span class="slider"></span>
</label>

<style>
/* From Uiverse.io by BurgiSimon  - Tags: simple, animation, red, green, switch, animated, css, toggle switch */
/* The switch - the box around the slider */
.switch {
  font-size: 17px;
  position: relative;
  display: inline-block;
  width: 4.5em;
  height: 2em;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ff3636;
  transition: 0.1s;
  transition-delay: 0.2s;
  border-radius: 30px;
}

.slider:before {
  position: absolute;
  content: "";
  height: 1.4em;
  width: 1.4em;
  border-radius: 20px;
  left: 0.3em;
  bottom: 0.3em;
  background-color: white;
  transition-delay: 0.2s;
  transition: 0.1s;
}

.switch input:checked + .slider {
  transition-delay: 0.2s;
  background-color: #00c763;
}

.switch input:focus + .slider {
  transition-delay: 0.2s;
  box-shadow: 0 0 1px #00c763;
}

.switch input:checked + .slider:before {
  transform: translateX(2.5em);
  transition-delay: 0.2s;
  transition-duration: 0.1s;
}

/* Animation Right */
@keyframes slideRight {
  0% {
    transform: translateX(0) translateY(0);
  }
  20% {
    transform: translateX(0.5em) translateY(-1.5em);
  }
  40% {
    transform: translateX(1em) translateY(-1.75em); /* Highest Point */
  }
  60% {
    transform: translateX(1.5em) translateY(-1.5em);
  }
  80% {
    transform: translateX(2em) translateY(-1.25em);
  }
  100% {
    transform: translateX(2.5em) translateY(0);
  }
}

/* Slide Animation Left */
@keyframes slideLeft {
  0% {
    transform: translateX(2.5em) translateY(0);
  }
  20% {
    transform: translateX(2em) translateY(-0.25em);
  }
  40% {
    transform: translateX(1.5em) translateY(-0.5em); /* Highest Point */
  }
  60% {
    transform: translateX(1em) translateY(-0.75em);
  }
  80% {
    transform: translateX(0.5em) translateY(-0.5em);
  }
  100% {
    transform: translateX(0) translateY(0);
  }
}

.switch input:checked + .slider:before {
  animation: slideRight 0.15s forwards;
}

.switch input:not(:checked) + .slider:before {
  animation: slideLeft 0.15s forwards;
}

</style>
    